package com.cnzhy;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
import org.springframework.cloud.netflix.eureka.EnableEurekaClient;

/**
 * @Author: zhaoyan5
 *
 * Zuul：
 * 使用的是阻塞式的 API，不支持长连接，比如 websockets。
 * 底层是servlet，Zuul处理的是http请求
 * 没有提供异步支持，流控等均由hystrix支持。
 * 依赖包spring-cloud-starter-netflix-zuul。
 *
 * Gateway：
 * Spring Boot和Spring Webflux提供的Netty底层环境，不能和传统的Servlet容器一起使用，也不能打包成一个WAR包。
 * 依赖spring-boot-starter-webflux 和 spring-cloud-starter-gateway
 * 提供了异步支持，提供了抽象负载均衡，提供了抽象流控，并默认实现了RedisRateLimiter。
 * 在Spring Cloud Gateway中默认提供了 RequestRateLimiter 过滤器来实现限流操作。
 */
@SpringBootApplication
@EnableDiscoveryClient
@EnableEurekaClient
public class ServiceGatewayApplication {

    public static void main(String[] args) {
        SpringApplication.run(ServiceGatewayApplication.class, args);
    }

}
